// socket主要对象
var socket = {
  websock: null,
  // 固定的WebSocket地址：此处是从env文件中读取socket地址，可以自行从其他config文件中读取或直接写死
  ws_url: 'ws://localhost:8321' + '/ws/websocket',
  /**
   * 初始化连接
   */
  init: () => {
    if (!("WebSocket" in window)) {
      console.log('浏览器不支持WebSocket')
      return null
    }
    socket.websock = new WebSocket(socket.ws_url)
    /**
     * 连接成功
     */
    socket.websock.onopen = function () {
      console.log('连接成功')
    }
    // 关闭连接
    socket.websock.onclose = function (e) {
      console.log('连接已断开')
      console.log('connection closed (' + e.code + ')')
    }
    /**
     * 连接发生错误
     */
    socket.websock.onerror = function () {
      console.log('WebSocket连接发生错误')
    }
  },

  /**
   * 发送消息
   * @param {*} data 发送数据
   * @param {*} callback 发送后的自定义回调函数
   */
  sendMsg: (data, callback) => {
    socket.websock.send(data);
    socket.websock.onmessage = callback
  },

  /**
   * 主动关闭连接
   */
  close: () => {
    console.log('主动断开连接')
    socket.websock.close()
  }
};
// 导出socket对象
export {
  socket
}
